package com.dapeis.core.utils.json;

import java.lang.reflect.Type;
import com.ag.utils.json.AGsonBuilder;
import com.dapeis.domain.User;
import com.dapeis.domain.ext.UserExt;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

/**
 * @author 作者 E-mail:
 * @version 创建时间：2017年4月26日 下午4:28:12 类说明
 */
public class UserExtGsonAdapter implements JsonSerializer<UserExt> {

    @Override
    public JsonElement serialize(UserExt src, Type typeOfSrc,
	    JsonSerializationContext context) {
	JsonObject json = AGsonBuilder.create().toJsonTree(src, User.class)
		.getAsJsonObject();
	if (null != src.getUserInformation()) {
	    json.add("userInfo",
		    AGsonBuilder.create().toJsonTree(src.getUserInformation()));
	}
	return json;
    }

}
